package com.ruoyi.reportInfo.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 场站物流运营信息业务对象 industrial_station_operation_info
 *
 * @author yangzhen
 * @date 2025-11-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
@Schema(name = "IndustrialStationOperationInfoBo", description = "场站物流运营信息业务对象")
public class IndustrialStationOperationInfoBo extends BaseEntity {

    /**
     * 主键id
     */
    @Schema(description = "主键id")
    @NotBlank(message = "主键id不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 场站id
     */
    @Schema(description = "场站id")
    @NotBlank(message = "场站id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String stationId;

    /**
     * 填报周期
     */
    @Schema(description = "填报周期")
    @NotNull(message = "填报周期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date reportDate;

    /**
     * 货运量（吨）
     */
    @Schema(description = "货运量（吨）")
    @NotNull(message = "货运量（吨）不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal freightVolume;

    /**
     * 车次数（车次）
     */
    @Schema(description = "车次数（车次）")
    @NotNull(message = "车次数（车次）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long carNum;

    /**
     * 数据收集时间
     */
    @Schema(description = "数据收集时间")
    @NotNull(message = "数据收集时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date reportCollectDate;

    @Schema(description = "填报周期")
    private String reportCycle;
}
